package com.xjgc.msibase.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 中间库服务记录明细表
 *
 * @author: 小逗号
 * @date: 2023/11/2
 * @description:
 * @since:
 */
@Data
@NoArgsConstructor
@TableName("msi_server_record_info")
public class MsiServerRecordInfo {
    /**
     * 主表id
     */
    private String recordId;
    /**
     * 节点
     */
    private Integer node;
    /**
     * 节点名
     */
    private String nodeName;
    /**
     * 数据文本
     */
    private String dataText;
    /**
     *
     */
    private String message;


    /**
     * id
     */
    @TableId
    private String id;
    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 更新人
     */
    private String updateBy;
    /**
     * 更新日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * 所属部门
     */
    private String sysOrgCode;

    public MsiServerRecordInfo(Node node) {
        //this.node = node.node;
        this.nodeName = node.nodeName;
        this.createTime = new Date();
    }

    @Getter
    @AllArgsConstructor
    public enum Node {
        /**
         *
         */
        PARSE_XML("解析XML"),
        TO_XML("转换XML"),
        TO_JSON("转换JSON"),
        ZF_WS("转发WS"),
        ZF_WS_RES("转发WS返回"),
        ZF_REST("转发REST"),
        ZF_REST_RES("转发REST返回"),
        REST_TOKEN("Token认证"),
        ;
        private String nodeName;
    }
}
